package com.danbay.cloud.account.dto;

import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotEmpty;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotNull;

/**
 * @author SJG
 *         2018/1/9.
 */
@Data
public class PermissionDto {

    /**
     * 权限名
     */
    @NotEmpty(message = "权限名不能为空")
    @Length(max = 50, message = "长度不能超过50")
    private String name;
    /**
     * 权限描述
     */
    private String description;
    /**
     * 权限类型（0:资源权限，1:数据权限，2:功能权限）
     */
    @NotNull(message = "权限类型不能为空")
    @Range(min = 0, max = 2, message = "权限类型应为：（0:资源权限，1:数据权限，2:功能权限）")
    private Integer type;
    /**
     * 权限内容
     * 当type=0时，填写资源路径，格式：”请求类型(POST、GET..):url”，其中请求类型和url都可以使用正则进行匹配，如：POST:/user/list
     * 当type=1时，填写bool表达式(具体待定)，如：${account.type}==0
     * 当type=2时，可不填写，主要提供给前端使用
     */
    @NotNull(message = "权限内容不能为空")
    private String content;
}
